#ifndef __M74HC595_DRIVER_H__
#define __M74HC595_DRIVER_H__

#define NIXIE_IOWR(num) (_IOWR('N', num, int))

#define GET_SIZE_FROM_CMD(cmd) ({ \
    int res;                      \
    res = ((cmd >> 16) & 0x3FFF); \
    res;                          \
})

#define GET_FUNC_FROM_CMD(cmd) ({ \
    int res;                      \
    res = cmd & 0xFF;             \
    res;                          \
})

unsigned char nixie_tube_nums[] = {
    0x3f, // 0
    0x06, // 1
    0x5b, // 2
    0x4f, // 3
    0x66, // 4
    0x6d, // 5
    0x7d, // 6
    0x07, // 7
    0x7f, // 8
    0x6f, // 9
    0x77, // A 10
    0x7c, // b 11
    0x39, // c 12
    0x5e, // d 13
    0x7b, // e //这个有错 14
    0x71, // f 15
    0x79, // E 16
    0x76, // H 17
};
unsigned char which_tube[] = {
    0x1, // sg0
    0x2, // sg1
    0x4, // sg2
    0x8, // sg3
};
enum MyEnum
{
    tube_1,
    tube_2,
    tube_3,
    tube_4,
};

#endif